package com.dao;

import com.pojo.Role;
import com.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserDao {
    /*登录*/
    User login(@Param("loginname") String loginname, @Param("password") String password);
    /*根据用户名查询*/
    User querybyusername(@Param("loginname") String loginname);
    /*注册*/
    int reg(@Param("loginname") String loginname, @Param("password") String password, @Param("name") String name, @Param("sex") String sex, @Param("email") String email, @Param("address") String address);
    /*注册*/
    int regist(User user);
    /*分页查询*/
    List<User> queryFen(@Param("PageIndex") int PageIndex, @Param("PageSize") int PageSize);
    /*根据用户名查询*/
    List<User> queryByUsername(@Param("username") String username, @Param("PageIndex") int PageIndex, @Param("PageSize") int PageSize);
    /*修改*/
    int updateUser(User user);
    /*删除*/
    int deleteUser(int id);
    /*根据id查询*/
    User queryByUserid(int id);
    /*修改密码*/
    int updatePass(@Param("loginname") String loginname, @Param("oldpass") String oldpass, @Param("newpass") String newpass);
    /*查询数量*/
    int countAll(@Param("username") String username);
    /*查询用户和权限*/
    List<User> queryRole(@Param("pageIndex") int pageIndex, @Param("pageSize") int pageSize);
    /*根据权限名搜索*/
    List<Role> queryRoleName(@Param("rolename") String rolename, @Param("pageIndex") int pageIndex, @Param("pageSize") int pageSize);
    /*通过登录名查role*/
    User queryToRole(@Param("loginname") String loginname);
}
